/**
 * fshows.com
 * Copyright (C) 2013-2020 All Right Reserved
 */
package com.fshows.leshuapay.sdk.response.settlement;

import lombok.Data;

import java.io.Serializable;

/**
 * 商户打款单结果查询response
 *
 * @author zhaoyi
 * @version MerchantSettlementOrderResponse.java, v 0.1 2020-07-30 16:50 zhaoyi
 */
@Data
public class MerchantSettlementOrderResponse implements Serializable {

    private static final long serialVersionUID = 7850815065474463934L;
    /**
     * 直属代理商id
     */
    private String agentId;

    /**
     * 单号
     */
    private String billId;

    /**
     * 创建时间 （创建时间是交易时间的下一天）2020-11-04T03:29:39+08:00
     */
    private String createTime;

    /**
     * 打款时间 2020-11-04 06:33:03
     */
    private String bankretTime;

    /**
     * 商户号
     */
    private String merchantId;

    /**
     * 应付金额（单位：1分）
     */
    private Integer planAmount;

    /**
     * 止付金额（单位：1分）
     */
    private Integer suspendAmount;

    /**
     * 实付金额（单位：1分）
     */
    private Integer realAmount;

    /**
     * 实付金额（单位：1分）
     */
    private Integer cashOutFee;

    /**
     * 状态： -1：打款失败； 0：打款中； 1：打款成功； 2：打款退票； 3：冻结出款；
     */
    private Integer state;

    /**
     * 失败原因
     */
    private String failReason;

    /**
     * 交易日期(结算数据对应的交易日期)
     */
    private String settleDate;

    /**
     * 备注： T1打款退票会重新生成一条打款单，财务会根据新生成打款单打款，此时通知时则通过remark字段来关联上次的打款单号，如果再次发生退票，则再重新打款，remark每次只关联上一笔打款单号
     */
    private String remark;

    /**
     * 打款单是否是重新生成的；0：否 1：是 （T0无该字段）
     */
    private String recreateFlag;

    /**
     * 结算类型：D0，D1
     */
    private String settleType;

    /**
     * 银行账号
     */
    private String bankAccount;

    /**
     * 开户人
     */
    private String bankHolder;

    /**
     * 非终态：“此类打款单打款成功仅代表转出成功，不等于最终到账成功。”终态：“此类打款单打款成功，即最终到账成功
     */
    private String tag;

    /**
     * 真实的银行账号
     */
    private String realBankAccount;

    /**
     * 真实的持卡人
     */
    private String realBankHolder;

    /**
     * 银行支行
     */
    private String bankBranch;

    /**
     * 联行号
     */
    private String unionPayCode;

    /**
     * 更新时间2020-11-04T03:29:39+08:00
     */
    private String updateTime;

    private String errorCode;

    private String errorMsg;

}
